import os
from MallApp.ALiPayNew import AliPay
from django.conf import settings
myTestFlag=True
appid="2021000117633360"
appidtest="2016082000298744"

def PayMoney2(total_price,order_id,returnsuccessurl):
    # 业务处理 使用python sdk调用支付宝的支付接口
    # 支付宝信息  不能放在settings里 会报错
    if myTestFlag:
        app_private_key_path = os.path.join(settings.BASE_DIR, 'myali/app_private_key.pem')
        alipay_public_key_path = os.path.join(settings.BASE_DIR, 'myali/alipay_public_key.gem')
        appid_v = appidtest

    else:
        app_private_key_path = os.path.join(settings.BASE_DIR, 'Alikeys/app_private_key.pem')
        alipay_public_key_path = os.path.join(settings.BASE_DIR, 'Alikeys/alipay_public_key.gem')
        appid_v = appid

    # 传递参数初始化支付类
    alipay = AliPay(
        appid=appid_v,  # 设置签约的appid
        app_notify_url="http://projectsedus.com/",  # 异步支付通知url
        app_private_key_path=app_private_key_path,  # 设置应用私钥
        alipay_public_key_path=alipay_public_key_path,  # 支付宝的公钥，验证支付宝回传消息使用，不是你自己的公钥,
        debug=True,  # 默认False,                                   # 设置是否是沙箱环境，True是沙箱环境
        return_url=returnsuccessurl  # 同步支付通知url
    )

    # 传递参数执行支付类里的direct_pay方法，返回签名后的支付参数，
    url = alipay.direct_pay(
        subject="商城充值会员订单",  # 订单名称
        # 订单号生成，一般是当前时间(精确到秒)+用户ID+随机数
        out_trade_no=order_id,  # 订单号
        total_amount=total_price,  # 支付金额
        return_url=returnsuccessurl  # 支付成功后，跳转url
    )

    # 将前面后的支付参数，拼接到支付网关
    # 注意：下面支付网关是沙箱环境，
    pay_url = "https://openapi.alipaydev.com/gateway.do?{data}".format(data=url)
    print(pay_url)

    return pay_url